影像處理中的矩

簡要說明

檔案: \examples\Processing\Geometry\ImageMoments\ImageMoments.va

預設平台: mE5-MA-VCL

短說明

計算傳入影像的影像矩、方向及偏心率。

影像處理中的矩,是指根據影像中單一像素的亮度值所計算出的平均值。透過這些矩,可以識別出影像中物體的物理 特性,例如方向、偏心率、面積或質心位置。

Orientation

入職說明會 物體的定義為 [Bur06]:

式 (24)。


並採用二階的中心矩:

式 (25)。


附定義

式(26)。


質心是

式(27)。


以及那些不加修飾的時刻

方程式 28。


對應於物體的面積。 此處 g(x,y) 為數位灰階影像的灰階函數。

Eccentricity

物體的偏心率 e 可根據 [Bur06] 計算得出

方程式 29。


偏心率的結果範圍介於 0(圓形物體)與 1(細長物體)之間。

在 VisualApplets 中進行設計

在VisualApplets 中,實現了一項設計,其輸出包含原始影像以及物體的幾何屬性,例如面積、 重心、方向 以及偏心率。您可以在 \examples\Processing\Geometry\ImageMoments\ImageMoments.va 中找到此範例。 計算時選用了 4 級並行度。 圖 324「基本設計結構」中,展示了附有註解的設計結構。

基本設計結構

圖 324. 基本設計結構


灰階影像的幾何特性(面積、重心、方向及偏心率)是透過矩來計算的 (HierarchicalBox: ImageMoments). 這些屬性會附加到原始相機影像上(將片段附加至圖片). 在 圖 325「ImageMoments 的內容」 中顯示了 HierarchicalBox ImageMoments 的內容。原始矩 (對應於物件的面積) 和 以及重心 和中心矩 和 均根據上述公式進行實作。最後,幾何 Property 方向 (即影像物件的主軸與離心率 $e$)會根據這些結果進行計算。

ImageMoments 的內容

圖 325。ImageMoments 的內容


在 圖 326「HierarchicalBox orientation_theta 的內容」 和 圖 327「HierarchicalBox eccentricity 的內容」 顯示了 HierarchicalBoxes 的內容 orientation_theta 和 eccentricity 以及單一運算步驟的插入註解。方向 與離心率 $e$ 是使用以下數值進行計算 根據 方程式 24 和 方程式 29。 輸入訊號至 ARCTAN 運算子時,選擇的解析度為 R=7。

HierarchicalBox orientation_theta 的內容

圖 326. HierarchicalBox orientation_theta 的內容


HierarchicalBox eccentricity 的內容

圖 327. HierarchicalBox eccentricity 的內容


註解: 在實作 $\Theta$ 方向時發現,將 ARCTAN 函式的最大輸入訊號限制為 12 位元可能會對計算精度與解析度造成問題: 例如,分析了方向為 $\Theta = 44.07^\circ$ 的橢圓影像(使用 MATLAB 矩形實作的結果)。 用於 ARCTAN 函式的 25 位元輸入訊號必須 限制為 12 位元。當解析度為 R = 8 位元時,在 VisualApplets 中的實作結果為 $41.43^\circ$;當 R = 7 位元時 結果為 $43.21^\circ$(小角度解析度為 $0.2^\circ$) 而當 R = 6 時則為 $44.07^\circ$(小角度解析度為 $0.45^\circ$)。結果顯示,在高解析度 (R = 8 位元)下,由於位元深度限制, 最大計算角度小於真實方向角度。若採用較小的解析度 R,大角度的計算結果 會有所改善,但代價是 在小角度範圍內的精度會降低。這個問題可以透過使用 Lookup table 來取代 ARC TAN operator 獲得解決。